package com.atguigu.spzx.common.log.annotations;

import io.swagger.v3.oas.annotations.Operation;

import java.lang.annotation.*;

/*
    自定义注解：使用元注解创建

    用来表示记录Controller接口的操作日志
 */
@Target({ElementType.METHOD}) //注解作用在方法上
@Retention(RetentionPolicy.RUNTIME) //运行时生效
@Documented //保存到文档中
@Inherited //可以被继承
public @interface Log {
    //对日志注解进行扩展，添加属性 方便切面类通知方法 获取属性值 保存到日志中

    //接口方法的标题
    String title();
    //是否保存请求参数： 默认值true
    boolean isSaveRequestParams() default true;

    //是否保存响应结果：默认值true
    boolean isSaveResultJson() default true;

    //业务类型: 0查询   1新增 2更新 3删除
    int businessType() default 0;
    //操作类型： MANAGER  MOBILE   PC  OTHER
    OpratorTypeEnum operatorType() default OpratorTypeEnum.MANAGER;

}
